System for creating managing and displaying multi-frame based ads on mobile devices

ABSTRACT

A method includes, but is not limited to any combination of: determining a plurality of third-party content elements based in part on information associated with a request for third-party content. The request for third-party content may be received from a web browser displaying a first webpage to a user. A first element from the plurality of determined third-party content elements is transmitted to the web browser. Upon receiving from the web browser a second request for third-party content including user interaction data with the first element, data associated with the determined plurality of third-party content elements is updated based at least in part on the user interaction data. A second third-party element from the plurality of updated third-party content elements is transmitted to the web browser.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims the benefit of and priority to U.S. applicationSer. No. 14/042,330, filed Sep. 30, 2013, the content of which isincorporated herein in its entirety.

BACKGROUND

The present disclosure relates generally to online content presented onwebsites to users of computing devices. More specifically, the presentdisclosure relates to presenting online content to users of mobiledevices. Increasingly web growth comes from casual users who are lookingfor quick information bites on their mobile devices and tablets. Theseusers are often disengaged and distracted. Serving third-party contentto these users often results in third-party content providers overpayingfor clicks received from this type of content.

SUMMARY

A method includes, but is not limited to any combination of: receiving arequest for third-party content from a web browser displaying a firstwebpage to a user; determining a plurality of third-party contentelements based in part on information associated with the request;transmitting a first element from the plurality of determinedthird-party content elements to the web browser; receiving from the webbrowser a second request for third-party content including userinteraction data with the first element; updating data associated withthe determined plurality of third-party content elements based at leastin part on the user interaction data; and transmitting a secondthird-party element from the plurality of updated third-party contentelements to the web browser.

A computer-readable storage medium having machine instructions storedtherein, the instructions being executable by a processor to cause theprocessor to perform operations comprising: receiving a request forthird-party content from a web browser displaying a first webpage to auser; determining a plurality of third-party content elements based inpart on information associated with the request; transmitting a firstelement from the plurality of determined third-party content elements tothe web browser; receiving from the web browser a second request forthird-party content including user interaction data with the firstelement; updating data associated with the determined plurality ofthird-party content elements based at least in part on the userinteraction data; and transmitting a second element from the pluralityof updated third-party content elements to the web browser.

A system including: one or more data processors; and one or more storagedevices storing instructions that, when executed by the one or more dataprocessors, cause the one or more data processors to perform operationscomprising: receiving a request for third-party content from a webbrowser displaying a first webpage to a user; determining a plurality ofthird-party content elements based in part on information associatedwith the request; transmitting a first element from the plurality ofdetermined third-party content elements to the web browser; receivingfrom the web browser a second request for third-party content includinguser interaction data with the first element; updating data associatedwith the determined plurality of third-party content elements based atleast in part on the user interaction data; and transmitting a secondelement from the plurality of updated third-party content elements tothe web browser.

BRIEF DESCRIPTION OF THE DRAWINGS

The details of one or more implementations are set forth in theaccompanying drawings and the description below. Other features,aspects, and advantages of the disclosure will become apparent from thedescription, the drawings, and the claims, in which:

FIG. 1 is a block diagram of a computer system, in an accordance with adescribed implementation;

FIG. 2 is a block diagram of a third-party content experience selectionservice storing third-party content, and delivering third-party contentexperiences to webpages visited by a user, in an accordance with adescribed implementation;

FIG. 3 is a flow diagram of communications between a first-party contentsource, a client device, and a third-party content experience selectionservice, in an accordance with a described implementation;

FIG. 4A is an illustration of a webpage containing first-party contentand a frame displaying a third-party content element, in an accordancewith a described implementation;

FIG. 4B is an illustration of a third-party content element, in anaccordance with a described implementation;

FIG. 5 is an illustration of a third-party content experience includingother content experience suggestions provided by a third-party contentexperience selection service, in an accordance with a describedimplementation; and

FIG. 6 is a flow diagram of a process for determining third-partycontent elements, in an accordance with a described implementation.

Like reference numbers and designations in the various drawings indicatelike elements.

DETAILED DESCRIPTION

Numerous specific details may be set forth below to provide a thoroughunderstanding of concepts underlying the described embodiments. It maybe apparent, however, to one skilled in the art that the describedembodiments may be practiced without some or all of these specificdetails. In other instances, some process steps have not been describedin detail in order to avoid unnecessarily obscuring the underlyingconcept.

A first-party content provider may allow a third-party contentexperience selection service to dynamically determine third-partycontent experience to be provided in conjunction with first-partycontent provider's content. The third-party content experiencedetermined by the third-party content experience selection service mayinclude a series of third-party content elements. The third-partycontent elements include advertisements. A frame (e.g. a sequentialmulti-frame) may be utilized on a first-party content provider's webpageto display to the user the third-party content experience. In someimplementations, the frame may display to the user one third-partycontent element at a time. The third-party content providers (e.g.,advertisers) may bid on those slots.

Each third-party content element may include an image, a text blurb, andnavigational controls that allow for viewing of third-party contentelements in quick succession. The content provided by the third-partycontent experience selection service may be well suited for servingcontent on mobile devices as well as other computing devices. Users ofmobile devices are typically consuming bite sized content in adisengaged way. Serving third-party content to such users in a frame orbanner as discussed herein may advantageously engage the users with thethird-party content.

The third-party content experience selection service may maintainthird-party content elements entered by third-party content providers,and serve series of third-party content elements to the users' computingdevices. A third-party content provider may enter several third-partycontent elements and indicate that the third-party content providerwishes for a particular group of third-party content elements to beserved together as part of a single third-party content experience. Forexample, the third-party content provider may have several new productsthat they wish to promote using the third-party content selectionservice. In this implementation, the third-party content provider maycreate a third-party content element for each product and indicate thatthese third-party content elements need to be served together. As aresult, the third-party content selection service may serve this groupof third-party content elements to a user as part of a singlethird-party content experience. In some implementations, thisthird-party content experience may include additional third-partyelements that are provided by this third-party content provider or byone or more other third-party content providers.

Based on user interest information and/or contextual informationassociated with the first-party content provider's webpage, thethird-party content experience selection service may determine anappropriate third-party content experience, consisting of a seriesthird-party content elements, that would be of interest to the user. Thethird-party content experience selection service may then return to theweb browser a first third-party content element from the series ofthird-party content elements. After the user views this third-partycontent element and indicates that they would like to view the nextthird-party content element (e.g., by using the navigational control inthe first third-party content element), the third-party contentexperience selection service may receive a request for the nextthird-party content element. While processing this request, thethird-party content selection service may dynamically update variousaspects associated with the third-party content experience being servedto the user including, but not limited to, the order of the remainingcontent elements, the length of the third-party content experience,and/or the user interface of the remaining third-party content elements.

Once the third-party content experience is dynamically updated, the nextthird-party content element from the updated third-party contentexperience is served to the user. During the user's interaction with thethird-party content experience, the third-party content experienceselection service may determine that the user may be interested inanother third-party content experience (e.g., on a another topic), andprovide the user with an option to start viewing another contentexperience.

Upon viewing all the third-party content elements in the third-partycontent experience, the user may be provided with an offer or anotherreward. The user may have an option to share viewing the third-partycontent experience on at least one social network. The fees that thethird-party content providers owe for their third-party content elementsbeing served to the user may depend on how many third-party contentelements the user viewed, and/or time of engagement with the third-partycontent elements. For example, if the user clicked through an entirecarousel of travel related advertisements, the third-party contentprovider may be billed more than if the user only clicked through few ofthe third-party content elements. Thus, the third-party content providermay be billed based on the user engagement with the third-party contentexperience. In some implementations, a cost per mille (“CPM”) model maybe utilized to determine the fees owed by the third-party contentproviders.

Some first-party content providers may display a top ten lists, such asa top ten list of top ten celebrities. Instead of having a long webpagewith the information about the top ten items (e.g., picture and textunderneath the picture for each celebrity), the first-content providermay break this content into ten webpages and have third-party contentexperiences displayed around the first-party content. In thisimplementation, each of these ten webpage may have at least one framedisplaying third-party content experiences, and third-party contentproviders (e.g., advertisers) may bid on those slots.

Referring to FIG. 1, a block diagram of a computer system 100 inaccordance with a described implementation is shown. The system 100includes a client device 102, which communicates with other computingdevices via a network 106. The client device 102 may execute a webbrowser or other application (e.g., a video game, a messenger program, amedia player, a social networking application, a navigation program,etc.) to retrieve content from other devices over a network 106. Forexample, the client device 102 may communicate with any number offirst-party content sources 108, 110 (e.g., a first content sourcethrough nth content source). The first-party content sources 108, 110may provide webpage data and/or other content, such as images, video,audio, or an application to the client device 102. In someimplementations, the first-party content sources 108, 110 may provide afirst-party webpage to the client device 102 that includes additionalthird-party content selected by a third-party content experienceselection service and/or another service.

The computer system 100 may include a third-party content experienceselection service 104 configured to maintain third-party contentelements provided by third-party content providers and process requestsfor third-party content experiences. Upon receiving a request for athird-party content experience for a particular user, the third-partycontent experience selection service 104 may determine an appropriatethird-party content experience consisting of multiple content elementsto be served to the client device 102 utilized by the user. Thethird-party content experience selection service 104 may utilize userinterest information and/or contextual webpage information to determinethe appropriate third-party content experience.

The third-party content experience selection service may managethird-party content elements across one or multiple third-party contentnetworks. Although a single third-party content experience selectionservice 104 is shown in FIG. 1, multiple services systems may beconnected to the network 106, each configured to manage, select, anddeliver third-party content to the client devices 102.

The network 106 may be any form of computer network that relaysinformation between the client device 102, the content sources 108, 110,and the third-party content experience selection service 104. Forexample, the network 106 may include the Internet and/or other types ofdata networks, such as a local area network (LAN), a wide area network(WAN), a cellular network, satellite network, or other types of datanetworks. The network 106 may also include any number of computingdevices (e.g., computer, servers, routers, network switches, etc.) thatare configured to receive and/or transmit data within the network 106.The network 106 may further include any number of hardwired and/orwireless connections. For example, the client device 102 may communicatewirelessly (e.g., via WiFi, cellular, radio, etc.) with a transceiverthat is hardwired (e.g., via a fiber optic cable, a CAT5 cable, etc.) toother computing devices in the network 106.

The client device 102 may be any number of different types of userelectronic devices configured to communicate via the network 106 (e.g.,a laptop computer, a desktop computer, a tablet computer, a smartphone,a digital video recorder, a set-top box for a television, a video gameconsole, combinations thereof, etc.). The client device 102 is shown toinclude a processor 112 and a memory 114, i.e., a processing circuit.The memory 114 may store machine instructions that, when executed by theprocessor 112 cause the processor 112 to perform one or more of theoperations described herein. The processor 112 may include amicroprocessor, ASIC, FPGA, etc., or combinations thereof. The memory114 may include, but is not limited to, electronic, optical, magnetic,or any other storage or transmission device capable of providing theprocessor 112 with program instructions. The memory 114 may include afloppy disk, CD-ROM, DVD, magnetic disk, memory chip, ROM, RAM, EEPROM,EPROM, flash memory, optical media, or any other suitable memory fromwhich the processor 112 can read instructions. The instructions mayinclude code from any suitable computer programming language such as,but not limited to, C, C++, C#, Java, JavaScript, Perl, HTML, XML,Python and Visual Basic.

The client device 102 may include one or more user interface devices. Auser interface device may be any electronic device that conveys data toa user by generating sensory information (e.g., a visualization on adisplay, one or more sounds, etc.) and/or converts received sensoryinformation from a user into electronic signals (e.g., a keyboard, amouse, a pointing device, a touch screen display, a microphone, etc.).The one or more user interface devices may be internal to the housing ofclient device 102 (e.g., a built-in display, microphone, etc.) orexternal to the housing of the client device 102 (e.g., a monitorconnected to client device 102, a speaker connected to client device102, etc.), according to various implementations. For example, theclient device 102 may include an electronic display 116, which displayswebpages and other data received from the content sources 108, 110and/or the third-party content experience selection service 104. Invarious implementations, the display 116 may be located inside oroutside of the same housing as that of the processor 112 and/or thememory 114. For example, the display 116 may be an external display,such as a computer monitor, television set, or any other stand-aloneform of electronic display. In other implementations, the display 116may be integrated into the housing of a laptop computer, a mobiledevice, or other form of a computing device having an integrateddisplay.

The first-party content sources 108, 110 may be one or more electronicdevices connected to the network 106 that provide content to devicesconnected to the network 106. For example, the content sources 108, 110may be computer servers (e.g., FTP servers, file sharing servers, webservers, etc.) or combinations of servers (e.g., data centers, cloudcomputing platforms, etc.). The content may include, but is not limitedto, webpage data, a text file, a spreadsheet, images, search results,and other forms of electronic documents. Similar to the client device102, the content sources 108, 110 may include processing circuitscomprising processors 122, 126 and memories 124, 128, respectively, thatstore program instructions executable by the processors 122, 126. Forexample, the processing circuit of the content source 108 may includeinstructions such as web server software, FTP serving software, andother types of software that cause the content source 108 to providecontent via the network 106.

Similar to the content sources 108, 110, the third-party contentexperience selection service 104 may be one or more electronic devicesconnected to the network 106. The third-party content experienceselection service 104 may be a computer server (e.g., FTP servers, filesharing servers, web servers, etc.) or a combination of servers (e.g., adata center, a cloud computing platform, etc.). The third-party contentexperience selection service 104 may have a processing circuit includinga processor 118 and a memory 120 that stores program instructionsexecutable by the processor 118. In cases in which the third-partycontent experience selection service 104 is a combination of computingdevices, the processor 118 may represent the collective processors ofthe devices and the memory 120 may represent the collective memories ofthe devices. The client device 102 may identify itself to thethird-party content experience selection service 104 through the use ofone or more device identifiers. Device identifiers may include, but arenot limited to, cookies, UDIDs, device serial numbers, telephonenumbers, or network addresses.

According to various implementations, the content sources 108, 110 mayprovide webpage data to the client device 102 that includes one or morecontent tags. In general, a content tag may be any piece of webpage codeassociated with the action of including third-party content with afirst-party webpage. For example, a content tag may define a slot on awebpage for third-party content, a slot for out of page third-partycontent (e.g., an interstitial slot), whether third-party content shouldbe loaded asynchronously or synchronously, whether the loading ofthird-party content should be disabled on the webpage, whetherthird-party content that loaded unsuccessfully should be refreshed, thenetwork location of a content source that provides the third-partycontent (e.g., content sources 108, 110, third-party content experienceselection service 104, etc.), a network location (e.g., a URL)associated with clicking on the third-party content, how the third-partycontent is to be rendered on a display, a command that causes clientdevice 102 to set a browser cookie (e.g., via a pixel tag that sets acookie via an image request), one or more keywords used to retrieve thethird-party content, and other functions associated with providingthird-party content with a first-party webpage. In other words, acontent tag may cause the client device 102 to send a content selectionrequest to the third-party content experience selection service 104 oranother system that delivers third-party content. In someimplementations, the content source 108 may provide webpage data thatcauses client device 102 to retrieve third-party content from thethird-party content experience selection service 104. In anotherimplementation, the content may be selected by the third-party contentexperience selection service 104 and provided by the content source 108as part of the first-party webpage data sent to the client device 102.In a further implementation, the third-party content experienceselection service 104 may cause the client device 102 to retrievethird-party content from a specified location, such as the memory 114 orthe content sources 108-110.

The content sources 108, 110 may also provide an executable applicationto the client device 102. Exemplary applications may include, but arenot limited to, messaging programs (e.g., chat programs, email programs,text messaging programs, etc.), navigation programs, games, schedulingprograms (e.g., programs that allow a user maintain a list ofappointments, etc.), social networking applications, andcontent-streaming programs (e.g., audio streaming applications, videostreaming applications, etc.). In other implementations, an applicationinstalled on the client device 102 may be pre-installed (e.g., by themanufacturer or retailer) and configured to receive content from thecontent sources 108, 110. For example, a pre-installed media playerapplication may be configured to download or stream a song from contentsource 108. An application executed by the client device 102 may beconfigured to provide a device identifier for the application to thethird-party content experience selection service 104. For example, theapplication may be configured to generate and/or provide a UDID or otherdevice identifier to the third-party content experience selectionservice 104. Such a device identifier may be provided by the clientdevice 102 to the third-party content experience selection service 104as part of a content selection request. For example, a game on theclient device 102 may request advertisements from the third-partycontent experience selection service 104 to be presented within thegame.

The users may be provided with an opportunity to control whetherprograms or features may collect and/or share personal information(e.g., UDID). In addition, certain data may be anonymized in one or moreways before it is stored or used, so that personally identifiableinformation is removed when generating parameters (e.g., demographicparameters). For example, a user's identity may be anonymized so that nopersonally identifiable information can be determined for the user, or auser's geographic location may be generalized where location informationis obtained (such as to a city, ZIP code, or state level), so that aparticular location of a user cannot be determined. Thus, the user mayhave control over how information is collected about him or her and usedby third-party content experience selection service or another service.

The third-party content selected by the third-party content experienceselection service 104 may be provided by the third-party contentexperience selection service 104 to the client device 102 via thenetwork 106. For example, one or more third-party content providers mayenter third-party content information using one or more user interfacesassociated with the experience selection service 104. The third-partycontent experience selection service 104 may then provide selectedcombinations of the third-party content to the client device 102 to bepresented in conjunction with a first-party webpage provided by thecontent source 108. In other implementations, the third-party contentexperience selection service 104 may provide an instruction to theclient device 102 that causes the client device 102 to retrieve theselected third-party content (e.g., from the memory 114 of the clientdevice 102, from the content source 110, etc.).

FIG. 2 is a block diagram illustrating the third-party contentexperience selection service 104 delivering third-party content towebpages 118, 120, and 122. As shown, a third-party content provider mayenter data for third-party content using a third-party content providerfrontend 214. The data entered by the third-party content provider maybe stored in a third-party content datastore 212. In someimplementations the third-party content datastore 212 may be part of thethird-party content experience selection service 104 or may beaccessible by the third-party content experience selection service 104.The third-party content experience selection service 104 may include orhave access to a user interest datastore 210, which may store datarelated to users who have previously viewed third-party content servedby the third-party content experience selection service 104.

The user interest data may include various data regarding usersincluding any combination of, but not limited to, demographics data,geographic data, etc. User interest data may be composed ofdistillations of the user's actual interests. For example, a known autoenthusiast would be tagged as such. Interests may be derived from userinteraction with the content service or from other data repositories.This data may be joined with user geographic location, demographic, sex,and other type of data. Users may be identified by a user uniqueidentifier (e.g., login or a unique hash) that may be present in anaccessible cookie in their browser.

A user 202 may open a web page 122 in a web page browser. If the user inthe third-party content network (e.g., an advertisement networkassociated with the third-party content experience selection service104, the user web browser may request (e.g., 226) third-party contentfrom the third-party content experience selection service 104. Therequest may be transmitted over the network 106 (shown as a broken linein FIG. 2). The request for the third-party content may include dataassociated with the user, and/or contextual information about thefirst-party content that is served on the webpage 122. Based on thereceived request, the third-party content experience selection service104 may determine a content experience consisting of multiple contentelements using the third-party content datastore 212 and the userinterest datastore 210. The first content element in the determinedcontent experience may be transmitted (e.g., 228) back to the webbrowser for display on the webpage 122. A single content element may beshown to the user at a time. Upon viewing the first content element, theuser may indicate that they would like to see the next content elementin the third-party content experience. In some implementations, a userof a mobile computing device may swipe the screen or tap on anavigational control to view the next third-party content element in thethird-party content experience.

When the third-party content experience selection service 104 receives arequest for the next content element in the content experience, thethird-party content experience selection service 104 may dynamicallyupdate one or more aspects of the remaining third-party content elementsin the third-party content experience including, but not limited to, theorder of the remaining content elements, the length of the third-partycontent experience, and the user interface of one or more of theremaining third-party content elements. After the third-party contentexperience selection service 104 dynamically updates the various aspectsof the third-party content experience, the next third-party contentelement in the third-party content experience is identified andtransmitted back to the webpage 122. The transmitted third-party contentelements may be dynamically formatted to maximize user engagement.

In some implementations, third-party content elements 1 through N aredisplayed to the user 202, one third-party content element at a time.For example, the first third-party content element is shown by itself ina banner or a frame and the user may navigate to the next third-partycontent element. A third-party content experience can include any numberof third-party content elements (e.g., ten third-party content elements,twenty third-party content elements, etc.). Although three webpages 118,120, and 122 are displayed in FIG. 2, the third-party content experienceselection service 104 may serve content elements to any number ofwebpages. Each webpage may be associated with a first-party contentprovider (e.g., publisher). In some implementations, the first-partycontent providers, who want to allow for third-party content experiencesto be displayed on their webpages, may create accounts and enterthird-party content elements using the third-party content providerfrontend 214.

Although a single third-party content provider 216 is shown in FIG. 2,any number of third-party content providers may enter and/or uploadthird-party content using the third-party content provider frontend 214.In some implementations, the third-party content provider may provideone or more sets of content elements that will appear together in athird-party content experience. For example, a third-party contentprovider may be launching new products and may enter a content elementfor each of the ten products. The third-party content provider mayindicate that some or all of the entered third-party content elementsshould be shown together in one or more third-party content experiences.For example, a third-party content provider may enter fifteenthird-party content elements. In this implementation, the third-partycontent provider may identify specific third-party content elements(e.g., ten third-party content elements) that need to be served togetherwithout any other third-party content elements from other third-partycontent providers, while the remaining third-party content elements(e.g., the remaining five third-party content elements) can be servedindividually with third-party content elements entered by otherthird-party content providers.

The third-party content provider frontend 214 may be implemented as auser interface shown to the third-party content provider on one or morewebpages, or as a desktop or mobile application. For each third-partycontent element, the third-party content provider may enter third-partycontent data including any combination of, but not limited to, one ormore images, one or more videos, one or more lines of text, andanimation. The third-party content element may specify which third-partycontent elements entered by the third-party content provider should beserved together. In some implementations, the third-party contentprovider may specify whether the third-party content elements may beserved together with third-party content elements originating from otherthird-party content providers.

FIG. 3 illustrates a flow diagram displaying communications between thefirst-party content source 108, the client device 102, and thethird-party content experience selection service 104. At step 302, theclient device 102 requests webpage data from the first-party contentsource 108. In response, the first-party content source returns (304)the requested webpage data including various first-party content, andthe client device 102 displays the webpage data to the user. The webpagedata transmitted to the client device 102 may include information thatwould cause the client device 102 to request third-party content datafrom one or more third-party content services.

As shown in FIG. 3, the client device transmits (306) a contentselection request to the third-party content experience selectionservice 104. The content selection request may include informationincluding, but not limited to URL associated with the webpage that theuser is viewing, and cookie information that may include informationabout the user. The cookie information may include data related to theuser such as the user location information, user identificationinformation, use demographics information, and/or type of content thatthe user was viewing on the webpage.

Based on the content selection request, the third-party contentexperience selection service 104 determines (308) a user experience tobe served to the user. In some implementations, using the receivedcookie information, the third-party content selection service 104determines if the user interest datastore 210 includes any informationfor the user. For example, the user may have already interacted with oneor more of the third-party content experiences in the past, and thoseinteractions may be used to determine what type of third-party contentexperience the user may be interested in viewing. The user may havevisited websites related to celebrities, and/or previously viewedthird-party content experiences related to celebrities. The webpagecurrently viewed by the user may be related to travel. In thisimplementation, even though the webpage contextual information isrelated to travel, the third-party content selection service 104 maydetermine a set of third-party content elements at least some of whichmay relate to celebrities because the user has previously shown interestin celebrities.

When user information is not available (e.g., the user is a new user orthe user opted out of their content experience interactions beingrecorded), contextual information may be relied upon to determine thethird-party content experience for serving to the user. Contextualinformation may include one or more topics related to first-partycontent shown on the webpage. For example, the webpage may be a healthand fitness blog. In this implementation, the contextual information mayindicate that the first-content data shown on the webpage relates tohealth and fitness. In this implementation, the third-party contentselection service 104 may identify third-party content elements thatrelate to health and fitness.

Once the third-party content selection service 104 identifies thethird-party content elements, a first content element is transmitted(310) to the client device 102. The first content element transmitted tothe client device 102 may be the first content element in the determinedseries of third-party content elements. Once the first third-partycontent element is shown to the user in a banner or another type offrame, the user may choose to interact with this third-party contentelement. The visualization of the third-party content element mayinclude navigational controls and information about the total number ofthird-party content elements in this third-party content experience. Theuser may click (one a personal computer) or tap with the finger orpointing device (on a touch screen device) on the shown third-partycontent element, which may cause opening of a separate webpage that isassociated with that third-party content element. The user may requestto view the next or previous third-party content element (e.g., byclicking on a navigational control provided in the visualization of thethird-party content element).

Upon the user indicating that they wish to view the next third-partycontent element, the client device 102 transmits a request (312) to thethird-party content selection service 104 for the next third-partycontent element. Upon receiving the request for the next third-partycontent element in the user experience, the third-party contentexperience selection service 104 may first dynamically determine updates(if any) to the remaining content elements that have not been displayedyet to this user based on the information received with the request forthe next content. In some implementations, various attributes associatedwith the user experience may be updated including, but not limited to,the order of the remaining content elements, the user interface of thenext content element, and the length of the third-party content userexperience. After the third-party content experience is updated (ifnecessary), the third-party content experience selection service 104 mayidentify the next third-party content element from the third-partycontent experience, and transmit information related to the nextthird-party content element back to the client device 102.

The user may continue interacting with the third-party contentexperience by requesting to view the next third-party content element(e.g., request in block 318 and third-party content element returned inblock 322). The user may also be able to view previously viewedthird-party content elements. One or more of the user interactions withthe third-party content experience may be recorded by the third-partycontent selection service (e.g., in the user interests data store 212 oranother storage). For example, user interactions information may includewhether the user clicked on any of the third-party content elements, howmany third-party content elements the user viewed in the third-partycontent experience viewed by the user. This information would be helpfulin serving third-party content experience that may be of interest to theuser. The recorded user information may include information thatidentifies the user or the computing device utilized by the user. Theusers may choose to opt out of their interactions being recorded.

FIG. 4A illustrates an exemplary webpage 400 including a frame 404 thatdisplays a third-party content experience consisting of series ofthird-party content elements. The first-party content provider mayspecify the size and the number of frames including the third-partycontent experiences that can be shown on the first-party contentprovider webpages. For example, the first-party content provider maychoose not to allow any third-party content on a main webpage associatedwith their website. In this implementation, the first-party contentprovider may allow for one or more frames that would display third-partycontent experience and/or other third-party content on at least some oftheir webpages.

The frame 404 displaying the third-party content experience is shown inthe top portion of the webpage 400. The frames containing thethird-party content experiences can be shown in any part of the webpage(e.g., top of the webpage, side of the webpage, the bottom of thewebpage, etc.). More than one frame containing third-party content maybe displayed on a single webpage. For example, three frames, eachdisplaying a third-party content experience, may be shown on a singlewebpage with one frame displayed on the top of the webpage, second framedisplayed on the bottom of the webpage, and third frame displayed on theright side of the webpage.

When a user is viewing the webpage 400 on a mobile computing device(e.g., smart phone), they may swipe the screen to view third-partycontent elements of the third-party content experience. On somecomputing devices (e.g., desktop computer), the user may click on thethird-party content elements of the frame displaying one of the contentelements of the third-party content experience in order to view the nextthird-party content element.

Now referring to FIG. 4B, a third-party content element 416 isillustrated. The third-party content element 416 may be displayed to theuser in the frame 404. The third-party content element 416 is shown toinclude an image 408, text 410, and navigational arrows 412 and 414. Inthe bottom right corner, the total number of third-party contentelements is shown to be 10 and the third-party content element 416 isthe first third-party content element shown to the user form the seriesof ten third-party content elements that make up the third-party contentexperience. The first-party content provider may specify whether thethird-party content served on their webpages should display images,video, etc. Although the image is shown above text portion, the imageand the text can be shown in any location of the third-party contentelement. The third-party content element 416 may include any other typeof visual information such as a video, animation, etc.

FIG. 5 illustrates a third-party content experience 512 includingthird-party content elements 502, 504, 506, and 508. As shown, eachcontent elements includes an image and a text blurb. Any othercombination of information may be included in each third-party contentelement including, but not limited to, text, one or more images, videos,animation, and hyperlinks. Each content element may provide the userwith information about the third-party content experience including thetotal number of third-party content elements in the third-party contentexperience, and/or the number that the third-party content element is inthe list of the third-party content elements. For example, the contentelement 502 may display that it is the first out of four total contentelements (e.g., “1 of 4”). The third-party content elements may includenavigational controls that allow the user to navigate through thethird-party content elements in the third-party content experience. Insome implementations, each third-party content element may includenavigational arrows (e.g., one arrow pointing to the left, and secondarrow pointing to the right). In these implementations, when the userclicks or taps on the arrow, the user is shown next or previous contentelement in the content experience. At least some of the third-partycontent elements may direct response content that asks the user toprovider information in order to get a coupon or discount for a productor service (e.g., ask the user to enter their zip code in order to get10% coupon for the product shown/explained in the third-party contentelement).

For example, the third-party content experience 512 may display to theuser content elements related to travel. In this implementation, eachthird-party content element in the third-party content experience 512may display advertisements or other type of third-party content relatedto travel. The content element 502 may show third-party content relatedto airfare and include an image displaying an airplane in the sky and atext blurb specifying airfare pricing information. When the user clickson a navigational control to proceed to the next content element, thethird-party content element 504 may be shown to the user in the frame.The third-party content element 504 may display hotel relatedinformation. The third-party content elements 502, 504, 506, and 508 maybe provided by the same third-party content provider or by multiplethird-party content providers.

In some implementations, the third-party content elements may allow theuser to enter information including whether the user wishes to proceedwith the third-party content experience or switch to another contentexperience. As shown in FIG. 5, a third-party content experiencesuggestion 415 may be provided to the user. In some implementations, theuser may be prompted with a pop up message that asks whether the user isinterested in switching to a third-party content experience related toanother subject matter. In the previous example, the third-party contentexperience 512 related to travel. In that implementation, anotherthird-party content experience may be suggested to the user that isrelated to another subject. In some implementations, predicted user dropoff rate and/or the goals of the third-party content providers whosethird-party content is part of the third-party content experience may beused in determining whether to make a suggestion to the user to switchto another third-party content experience. The user drop off rate may bedetermined by the service 104 using data regarding previous userinteractions with third-party content experiences and the userinteractions with the current third-party content experience.

Users may be directed to new content experiences in a way that maximizessystem revenue. If one particular content experience is particularlyvaluable and relevant to the user, the third-party content experienceselection service 104 may reduce how often it shows new suggestions.Once a user is viewing a content experience, the third-party contentexperience selection service 104 may choose to immediately offer newcontent experiences that are deemed more valuable, more interesting tothe user, and more likely to generate maximum revenue. For example, ifan automotive enthusiast was looking at a sponsored slide show from onethird-party content provider about a new car model built by thethird-party party-content provider, the third-party content experienceselection service 104 may not show any new suggestions until very latein the sequence. If the same user is looking at a series of third-partycontent elements (e.g., a slide show) about celebrities, the third-partycontent experience selection service 104 may immediately suggest thesponsored content experience (i.e., a slide show of third-party contentelements) about the new car model by the third-party party-contentprovider.

If the user indicates that they wish to switch to another third-partycontent experience, then the first content element in other third-partycontent experience 516 may be shown to the user. As further shown inFIG. 5, the user can switch to third-party content experience 518 uponviewing a second content element in the third-party content experience516. In some implementations, the user may indicate that they wish toswitch to another third-party content experience without being firstprompted to do so.

FIG. 6 is a flow diagram of a process 600 for servicing dynamicallydetermined third-party content elements, in accordance with anillustrative implementation. The process 600 can be implemented on acomputing device (e.g., the direct third-party content experienceselection service 104). In one embodiment, the process 600 is encoded ona computer-readable medium that contains instructions that, whenexecuted by the computing device, cause the computing device to performoperations of the process 600.

FIG. 6 includes receiving (block 602) a request for third-party contentfrom a webpage over a first content network. The webpage may include aframe that is configured to display one third-party content element at atime. Upon loading the webpage, the web browser on the user's computingdevice may transmit the request which may include the URL associatedwith the webpage and/or user information. The user information may beincluded in a cookie that is transmitted in the request. The cookieinformation may include any combination of the following useridentification information, user computing device identificationinformation, user demographics, user location, user interests, etc. Insome implementations, the request may include an identifier or adescription that identifies the subject matter (e.g., travel content)that the webpage displays to the user.

At block 604, a third-party content experience is determined based onthe request received from the webpage. The request may include URLinformation associated with the requesting webpage, cookie information,contextual information associated with the first party webpage, or anycombination thereof. The determined third-party content experience mayinclude a plurality of third-party content elements. In someimplementations, if cookie information is included in the request, thatcookie information is analyzed to determine the optimal series ofthird-party content elements. For example, the cookie information mayinclude user identifying information that may assist the service 104 inidentifying the user. If the user is identified by the service 104, theuser's history of viewing and interacting with other third-party contentexperiences may be analyzed to determine the best series of third-partycontent elements. The cookie information used by the service 104 mayinclude, user interests, demographics, location, etc. If the userinformation is unavailable, any combination of user demographicsinformation, user location information, contextual information of thefirst-party content shown on the webpage may be used to determine theseries of content elements to be served to the user. In someimplementations, a combination of user information and contextualinformation may be utilized to determine a series of third-party contentelements.

The users may be provided with an opportunity to control whetherprograms or features may collect and/or share personal information(e.g., demogrphics). In addition, certain data may be anonymized in oneor more ways before it is stored or used, so that personallyidentifiable information is removed when generating parameters (e.g.,demographic parameters). For example, a user's identity may beanonymized so that no personally identifiable information can bedetermined for the user, or a user's geographic location may begeneralized where location information is obtained (such as to a city,ZIP code, or state level), so that a particular location of a usercannot be determined. Thus, the user may have control over howinformation is collected about him or her and used by third-partycontent experience selection service or another service.

Upon determining the third-party content experience containing aplurality of third-party content elements, the order of the contentelements in the third-party content experience is determined. In someimplementations, the order of the third-party content elements may bebased on the third-party content provider's goals. In theseimplementations, the third-party content provider may indicate that theywant a higher click-through rate, higher number of impressions, orhigher number of conversions. For example, the third-party contentprovider wants a higher click-through rate, and the third-party contentelements making up a third-party content experience may be re-orderedbased on this criteria and the historical performance information of thethird-party content elements. The process 600 includes transmitting(block 606) to the first webpage a first third-party content element inthe determined third-party content experience. In turn, the webpage maydisplay the first third-party content element in a frame. The frame maybe shown as a rectangular banner in any location of the webpage (e.g.,in top section of the webpage).

The user may click on the first third-party content element, which wouldtake the user to the landing page associated with the first third-partycontent element. For example, the landing page may be a webpageassociated with an advertiser who entered the third-party contentelement into the third-party content experience selection service 104.The third-party content experience selection service 104 may recordwhether the user clicking on the first third-party content elementresulted in a conversion for the third-party content provider associatedwith the first third-party content element. The third-party contentprovider may be billed for the conversion depending on the cost that isset up by the third-party content provider. If the user is notinterested in viewing more information about the first third-partycontent element, they may click on a navigational indicator (or swipethe screen of a touch screen computing device), which may be configuredto trigger the web browser to send another request to the third-partycontent experience selection service 104 for the next third-partycontent element.

At block 608, a second request for the next third-party content elementfrom the webpage is received. The second request may include any of thefollowing information user interaction information with the previouscontent element, user identification information, cookie information,etc. In some implementations, the second request may include at leastsome of the information that was included in the first request. In oneimplementation, the information passed with the second request and thesubsequent request is not different from the information passed to thesystem from the web browser with the first request. As long as the usercontinues to present a unique token or cookie for each page view, thebackend can do all the calculations. In some instances, a unique sessionkey may be passed in each call to the system, so that if a user cannotbe identified from an existing cookie identifier, there will at least besession level data available.

In other implementations, the second request may include informationassociated with the third-party content experience (e.g., identificationinformation of the third-party content experience). The second requestmay include user interaction information describing the userinteractions with the previous third-party content element(s). In someimplementations, the user interaction information may be communicated bythe web browser to the third-party content selection service 104 uponthe user interactions in a separate transmission.

The third-party content experience may be updated (block 610) based onthe second request. In some implementations, the order of the remainingthird-party content elements in the third-party content experience maybe changed based on the user interaction with the previously displayedcontent elements of the third-party content experience and/or otherinformation associated with the user. For example, if the user has notclicked on any of the previously shown third-party content experiencecontent elements, the user may be next shown a third-party contentexperience content element that has the highest historical click throughrate of all the remaining third-party content elements in thethird-party content experience. The length of the third-party contentexperience may be updated. In some implementations, third-party contentexperience content elements may be added to and/or removed from thethird-party content experience. In some implementations, if the user isnot engaging with any of the third-party content elements shown thusfar, new third-party content elements may be added to the third-partycontent experience that the service 104 determined to have a higherchance of conversion.

After the third-party content experience is updated (if any updates aredetermined to be necessary), the next third-party content element in thethird-party content experience is transmitted (block 612) to thewebpage. Upon receiving the next content element, the webpage mayreplace the first third-party content element with the next third-partycontent element in the frame. The user may go back to the previousthird-party content element by clicking on a navigational control in thepresent third-party content element that is configured to show theprevious third-party content element to the user.

Upon reaching a final third-party content element in the contentexperience, the webpage may display to the user a final third-partycontent offer. The final content offer may include a coupon, gift,social sharing, links to additional third-party content experiences, orany combination thereof. Thus, the user is incentivized to share theirviewing of the third-party content experience on their social networks,and/or view additional third-party content experiences.

For situations in which the systems discussed here collect personalinformation about users, or may make use of personal information, theusers may be provided with an opportunity to control whether programs orfeatures that may collect personal information (e.g., information abouta user's social network, social actions or activities, a user'spreferences, or a user's current location), or to control whether or howto receive content from the content server that may be more relevant tothe user. In addition, certain data may be anonymized in one or moreways before it is stored or used, so that personally identifiableinformation is removed when generating parameters (e.g., demographicparameters). For example, a user's identity may be anonymized so that nopersonally identifiable information can be determined for the user, or auser's geographic location may be generalized where location informationis obtained (such as to a city, ZIP code, or state level), so that aparticular location of a user cannot be determined. Thus, the user mayhave control over how information is collected about him or her and usedby a content server.

Implementations of the subject matter and the operations described inthis specification can be implemented in digital electronic circuitry,or in computer software embodied on a tangible medium, firmware, orhardware, including the structures disclosed in this specification andtheir structural equivalents, or in combinations of one or more of them.Implementations of the subject matter described in this specificationcan be implemented as one or more computer programs, i.e., one or moremodules of computer program instructions, encoded on one or morecomputer storage medium for execution by, or to control the operationof, data processing apparatus. Alternatively or in addition, the programinstructions can be encoded on an artificially-generated propagatedsignal, e.g., a machine-generated electrical, optical, orelectromagnetic signal, that is generated to encode information fortransmission to suitable receiver apparatus for execution by a dataprocessing apparatus. A computer storage medium can be, or be includedin, a computer-readable storage device, a computer-readable storagesubstrate, a random or serial access memory array or device, or acombination of one or more of them. Moreover, while a computer storagemedium is not a propagated signal, a computer storage medium can be asource or destination of computer program instructions encoded in anartificially-generated propagated signal. The computer storage mediumcan also be, or be included in, one or more separate components or media(e.g., multiple CDs, disks, or other storage devices). Accordingly, thecomputer storage medium may be tangible.

The operations described in this specification can be implemented asoperations performed by a data processing apparatus on data stored onone or more computer-readable storage devices or received from othersources.

The term “client or “server” include all kinds of apparatus, devices,and machines for processing data, including by way of example aprogrammable processor, a computer, a system on a chip, or multipleones, or combinations, of the foregoing. The apparatus can includespecial purpose logic circuitry, e.g., an FPGA (field programmable gatearray) or an ASIC (application-specific integrated circuit). Theapparatus can also include, in addition to hardware, code that createsan execution environment for the computer program in question, e.g.,code that constitutes processor firmware, a protocol stack, a databasemanagement system, an operating system, a cross-platform runtimeenvironment, a virtual machine, or a combination of one or more of them.The apparatus and execution environment can realize various differentcomputing model infrastructures, such as web services, distributedcomputing and grid computing infrastructures.

A computer program (also known as a program, software, softwareapplication, script, or code) can be written in any form of programminglanguage, including compiled or interpreted languages, declarative orprocedural languages, and it can be deployed in any form, including as astand-alone program or as a module, component, subroutine, object, orother unit suitable for use in a computing environment. A computerprogram may, but need not, correspond to a file in a file system. Aprogram can be stored in a portion of a file that holds other programsor data (e.g., one or more scripts stored in a markup languagedocument), in a single file dedicated to the program in question, or inmultiple coordinated files (e.g., files that store one or more modules,sub-programs, or portions of code). A computer program can be deployedto be executed on one computer or on multiple computers that are locatedat one site or distributed across multiple sites and interconnected by acommunication network.

The processes and logic flows described in this specification can beperformed by one or more programmable processors executing one or morecomputer programs to perform actions by operating on input data andgenerating output. The processes and logic flows can also be performedby, and apparatus can also be implemented as, special purpose logiccircuitry, e.g., an FPGA (field programmable gate array) or an ASIC(application specific integrated circuit).

Processors suitable for the execution of a computer program include, byway of example, both general and special purpose microprocessors, andany one or more processors of any kind of digital computer. Generally, aprocessor will receive instructions and data from a read-only memory ora random access memory or both. The essential elements of a computer area processor for performing actions in accordance with instructions andone or more memory devices for storing instructions and data. Generally,a computer will also include, or be operatively coupled to receive datafrom or transfer data to, or both, one or more mass storage devices forstoring data, e.g., magnetic, magneto-optical disks, or optical disks.However, a computer need not have such devices. Moreover, a computer canbe embedded in another device, e.g., a mobile telephone, a personaldigital assistant (PDA), a mobile audio or video player, a game console,a Global Positioning System (GPS) receiver, or a portable storage device(e.g., a universal serial bus (USB) flash drive), to name just a few.Devices suitable for storing computer program instructions and datainclude all forms of non-volatile memory, media and memory devices,including by way of example semiconductor memory devices, e.g., EPROM,EEPROM, and flash memory devices; magnetic disks, e.g., internal harddisks or removable disks; magneto-optical disks; and CD-ROM and DVD-ROMdisks. The processor and the memory can be supplemented by, orincorporated in, special purpose logic circuitry.

To provide for interaction with a user, implementations of the subjectmatter described in this specification can be implemented on a computerhaving a display device, e.g., a CRT (cathode ray tube), LCD (liquidcrystal display), OLED (organic light emitting diode), TFT (thin-filmtransistor), plasma, other flexible configuration, or any other monitorfor displaying information to the user and a keyboard, a pointingdevice, e.g., a mouse, trackball, etc., or a touch screen, touch pad,etc., by which the user can provide input to the computer. Other kindsof devices can be used to provide for interaction with a user as well;for example, feedback provided to the user can be any form of sensoryfeedback, e.g., visual feedback, auditory feedback, or tactile feedback;and input from the user can be received in any form, including acoustic,speech, or tactile input. In addition, a computer can interact with auser by sending documents to and receiving documents from a device thatis used by the user; for example, by sending webpages to a web browseron a user's client device in response to requests received from the webbrowser.

Implementations of the subject matter described in this specificationcan be implemented in a computing system that includes a back-endcomponent, e.g., as a data server, or that includes a middlewarecomponent, e.g., an application server, or that includes a front-endcomponent, e.g., a client computer having a graphical user interface ora Web browser through which a user can interact with an implementationof the subject matter described in this specification, or anycombination of one or more such back-end, middleware, or front-endcomponents. The components of the system can be interconnected by anyform or medium of digital data communication, e.g., a communicationnetwork. Examples of communication networks include a local area network(“LAN”) and a wide area network (“WAN”), an inter-network (e.g., theInternet), and peer-to-peer networks (e.g., ad hoc peer-to-peernetworks).

The features disclosed herein may be implemented on a smart televisionmodule (or connected television module, hybrid television module, etc.),which may include a processing circuit configured to integrate Internetconnectivity with more traditional television programming sources (e.g.,received via cable, satellite, over-the-air, or other signals). Thesmart television module may be physically incorporated into a televisionset or may include a separate device such as a set-top box, Blu-ray orother digital media player, game console, hotel television system, andother companion device. A smart television module may be configured toallow viewers to search and find videos, movies, photos and othercontent on the web, on a local cable TV channel, on a satellite TVchannel, or stored on a local hard drive. A set-top box (STB) or set-topunit (STU) may include an information appliance device that may containa tuner and connect to a television set and an external source ofsignal, turning the signal into content which is then displayed on thetelevision screen or other display device. A smart television module maybe configured to provide a home screen or top level screen includingicons for a plurality of different applications, such as a web browserand a plurality of streaming media services, a connected cable orsatellite media source, other web “channels”, etc. The smart televisionmodule may further be configured to provide an electronic programmingguide to the user. A companion application to the smart televisionmodule may be operable on a mobile computing device to provideadditional information about available programs to a user, to allow theuser to control the smart television module, etc. In alternateembodiments, the features may be implemented on a laptop computer orother personal computer, a smartphone, other mobile phone, handheldcomputer, a tablet PC, or other computing device.

While this specification contains many specific implementation details,these should not be construed as limitations on the scope of anyinventions or of what may be claimed, but rather as descriptions offeatures specific to particular implementations of particularinventions. Certain features that are described in this specification inthe context of separate implementations can also be implemented incombination in a single implementation. Conversely, various featuresthat are described in the context of a single implementation can also beimplemented in multiple implementations separately or in any suitablesubcombination. Moreover, although features may be described above asacting in certain combinations and even initially claimed as such, oneor more features from a claimed combination can in some cases be excisedfrom the combination, and the claimed combination may be DELETEed to asubcombination or variation of a subcombination.

Similarly, while operations are depicted in the drawings in a particularorder, this should not be understood as requiring that such operationsbe performed in the particular order shown or in sequential order, orthat all illustrated operations be performed, to achieve desirableresults. In certain circumstances, multitasking and parallel processingmay be advantageous. Moreover, the separation of various systemcomponents in the implementations described above should not beunderstood as requiring such separation in all implementations, and itshould be understood that the described program components and systemscan generally be integrated together in a single software productembodied on a tangible medium or packaged into multiple such softwareproducts.

Thus, particular implementations of the subject matter have beendescribed. Other implementations are within the scope of the followingclaims. In some cases, the actions recited in the claims can beperformed in a different order and still achieve desirable results. Inaddition, the processes depicted in the accompanying figures do notnecessarily require the particular order shown, or sequential order, toachieve desirable results. In certain implementations, multitasking orparallel processing may be utilized.

What is claimed is:
 1. A method comprising: generating a first orderedlist of content elements, and storing the first ordered list in acomputer-readable storage medium; transmitting, subsequent to thegenerating the first ordered list of content elements, a first contentelement of the first ordered list of content elements to a client deviceexecuting an application; receiving, from the client device via theapplication, a request for content based on a user interaction with thefirst content element, the request including user interaction data withthe first content element indicating a timing of user interactions withthe first content element or whether the user interacted with the firstcontent element; dynamically updating data associated with the firstordered list of content elements subsequent to display of the firstcontent element based at least in part on the user interaction data, thedata being updated relating to at least one of: a content element to beadded to the first ordered list of content elements, a content elementto be removed from the first ordered list of content elements, and alength of the first ordered list of content elements; and transmitting asecond content element of the first ordered list of content elements tothe client device based on the updated data.
 2. The method of claim 1,wherein the application executed by the client device is a socialnetworking application.
 3. The method of claim 2, wherein the secondcontent element includes a selectable object for sharing a viewing ofthe content experience on at least one social network, the methodfurther comprising receiving, from the client device via theapplication, a selection of the object for sharing the viewing of thecontent experience on the at least one social network.
 4. The method ofclaim 1, wherein each content element of the first ordered list ofcontent elements includes audio or video.
 5. The method of claim 1,further comprising determining a second ordered list of content elementsbased at least in part on a predicted user drop-off from interactingwith the first ordered list of third-party user elements, andtransmitting data associated with the second ordered list of contentelements to the client device.
 6. The method of claim 1, furthercomprising calculating a fee for a content provider associated with atleast some of the content elements of the first ordered list of contentelements based at least in part on the user interaction data.
 7. Themethod of claim 1, wherein: the third party content elements of thefirst ordered list of third party content elements are respectivelyassociated with historical interaction parameter values; and thedynamically updating data associated with the first ordered list ofcontent elements comprises selecting, as the second content element, acontent element of the first ordered list of content elements based onthe historical interaction parameter values.
 8. The method of claim 7,wherein: the user interaction data with the first content elementcomprises an indication that the user did not interact with the firstcontent element; and the selecting, as the second content element, thecontent element of the first ordered list of content elements based onthe historical interaction parameter values comprises selecting thecontent element having the highest or lowest historical interactionparameter value of the content elements of the first ordered list ofcontent elements.
 9. A computer-readable storage medium having machineinstructions stored therein, the instructions being executable by aprocessor to cause the processor to perform operations comprising:generating a first ordered list of content elements and storing thefirst ordered list in the computer-readable storage medium;transmitting, subsequent to generating the first ordered list of contentelements, a first content element of the ordered list to a client deviceexecuting an application; receiving, from the client device via theapplication, a request for a next item in the first ordered list ofcontent for subsequent display based on a user interaction with thefirst content element, the request including user interaction data withthe first content element related to a timing of user interactions withthe first content element or whether the user interacted with the firstcontent element; updating, subsequent to receiving the request for thenext item in the first ordered list of content, data associated with thefirst ordered list based at least in part on the user interaction data,the data being updated relating to at least one of: an order for displayof content elements of the first ordered list, a content element to beadded to the first ordered list, a content element to be removed fromthe first ordered list, and a length of the first ordered list; andtransmitting a second content element of the first ordered list to theclient device based on the updated data.
 10. The computer-readablestorage medium of claim 9, wherein the application executed by theclient device is a social networking application.
 11. Thecomputer-readable storage medium of claim 10, wherein the second contentelement includes a selectable object for sharing a viewing of thecontent experience on at least one social network, and the instructions,when executed by the processor, further cause the processor to receive,from the client device via the application, a selection of the objectfor sharing the viewing of the content experience on the at least onesocial network.
 12. The computer-readable storage medium of claim 9,wherein each content element of the first ordered list of contentelements includes an image and text.
 13. The computer-readable storagemedium of claim 9, wherein the instructions, when executed by theprocessor, further cause the processor to determine a second orderedlist of content elements based at least in part on a predicted userdrop-off from interacting with the first ordered list of third-partyuser elements, and to transmit data associated with the second orderedlist of content elements to the client device.
 14. The computer-readablestorage medium of claim 9, wherein the instructions, when executed bythe processor, further cause the processor to calculate a fee for acontent provider associated with at least some of the content elementsof the first ordered list of content elements based at least in part onthe user interaction data.
 15. A system comprising: one or more dataprocessors; and one or more storage devices storing instructions that,when executed by the one or more data processors, cause the one or moredata processors to perform operations comprising: generating a firstordered list of content elements, and storing the first ordered list ina computer-readable storage medium; transmitting, subsequent togenerating the first ordered list of content elements, a first contentelement of the first ordered list of content elements to a client deviceexecuting an application; receiving, from the client device via theapplication, a request for content based on a user interaction with thefirst content element, the request including user interaction data withthe first content element indicating a timing of user interactions withthe first content element or whether the user interacted with the firstcontent element; dynamically updating data associated with the firstordered list of content elements subsequent to display of the firstcontent element based at least in part on the user interaction data, thedata being updated relating to at least one of: a content element to beadded to the first ordered list of content elements, a content elementto be removed from the first ordered list of content elements, and alength of the first ordered list of content elements; and transmitting asecond content element of the first ordered list of content elements tothe client device based on the updated data.
 16. The system of claim 15,wherein the application executed by the client device is a socialnetworking application.
 17. The system of claim 16, wherein the secondcontent element includes a selectable object for sharing a viewing ofthe content experience on at least one social network, and theinstructions, when executed by the processor, further cause theprocessor to receive, from the client device via the application, aselection of the object for sharing the viewing of the contentexperience on the at least one social network.
 18. The system of claim17, wherein the instructions, when executed by the one or more dataprocessors, further cause the one or more data processors to performoperations comprising determining a second ordered list of contentelements based at least in part on a predicted user drop-off frominteracting with the first ordered list of third-party user elements;and transmitting data associated with the second ordered list of contentelements to the client device.
 19. The system of claim 18, wherein theinstructions, when executed by the one or more data processors, furthercause the one or more data processors to perform operations comprisingcalculating a fee for a content provider associated with at least someof the content elements of the first ordered list of content elementsbased at least in part on user interaction data associated with the atleast some content elements.
 20. The system of claim 15, wherein eachcontent element of the first ordered list of content elements includesvideo.